package com.gridmobi.xrtb.domain.dsp;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DeductionDetailExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DeductionDetailExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andAffiliateidIsNull() {
            addCriterion("affiliateId is null");
            return (Criteria) this;
        }

        public Criteria andAffiliateidIsNotNull() {
            addCriterion("affiliateId is not null");
            return (Criteria) this;
        }

        public Criteria andAffiliateidEqualTo(Integer value) {
            addCriterion("affiliateId =", value, "affiliateid");
            return (Criteria) this;
        }

        public Criteria andAffiliateidNotEqualTo(Integer value) {
            addCriterion("affiliateId <>", value, "affiliateid");
            return (Criteria) this;
        }

        public Criteria andAffiliateidGreaterThan(Integer value) {
            addCriterion("affiliateId >", value, "affiliateid");
            return (Criteria) this;
        }

        public Criteria andAffiliateidGreaterThanOrEqualTo(Integer value) {
            addCriterion("affiliateId >=", value, "affiliateid");
            return (Criteria) this;
        }

        public Criteria andAffiliateidLessThan(Integer value) {
            addCriterion("affiliateId <", value, "affiliateid");
            return (Criteria) this;
        }

        public Criteria andAffiliateidLessThanOrEqualTo(Integer value) {
            addCriterion("affiliateId <=", value, "affiliateid");
            return (Criteria) this;
        }

        public Criteria andAffiliateidIn(List<Integer> values) {
            addCriterion("affiliateId in", values, "affiliateid");
            return (Criteria) this;
        }

        public Criteria andAffiliateidNotIn(List<Integer> values) {
            addCriterion("affiliateId not in", values, "affiliateid");
            return (Criteria) this;
        }

        public Criteria andAffiliateidBetween(Integer value1, Integer value2) {
            addCriterion("affiliateId between", value1, value2, "affiliateid");
            return (Criteria) this;
        }

        public Criteria andAffiliateidNotBetween(Integer value1, Integer value2) {
            addCriterion("affiliateId not between", value1, value2, "affiliateid");
            return (Criteria) this;
        }

        public Criteria andAdvertiseridIsNull() {
            addCriterion("advertiserid is null");
            return (Criteria) this;
        }

        public Criteria andAdvertiseridIsNotNull() {
            addCriterion("advertiserid is not null");
            return (Criteria) this;
        }

        public Criteria andAdvertiseridEqualTo(Integer value) {
            addCriterion("advertiserid =", value, "advertiserid");
            return (Criteria) this;
        }

        public Criteria andAdvertiseridNotEqualTo(Integer value) {
            addCriterion("advertiserid <>", value, "advertiserid");
            return (Criteria) this;
        }

        public Criteria andAdvertiseridGreaterThan(Integer value) {
            addCriterion("advertiserid >", value, "advertiserid");
            return (Criteria) this;
        }

        public Criteria andAdvertiseridGreaterThanOrEqualTo(Integer value) {
            addCriterion("advertiserid >=", value, "advertiserid");
            return (Criteria) this;
        }

        public Criteria andAdvertiseridLessThan(Integer value) {
            addCriterion("advertiserid <", value, "advertiserid");
            return (Criteria) this;
        }

        public Criteria andAdvertiseridLessThanOrEqualTo(Integer value) {
            addCriterion("advertiserid <=", value, "advertiserid");
            return (Criteria) this;
        }

        public Criteria andAdvertiseridIn(List<Integer> values) {
            addCriterion("advertiserid in", values, "advertiserid");
            return (Criteria) this;
        }

        public Criteria andAdvertiseridNotIn(List<Integer> values) {
            addCriterion("advertiserid not in", values, "advertiserid");
            return (Criteria) this;
        }

        public Criteria andAdvertiseridBetween(Integer value1, Integer value2) {
            addCriterion("advertiserid between", value1, value2, "advertiserid");
            return (Criteria) this;
        }

        public Criteria andAdvertiseridNotBetween(Integer value1, Integer value2) {
            addCriterion("advertiserid not between", value1, value2, "advertiserid");
            return (Criteria) this;
        }

        public Criteria andOriofferidIsNull() {
            addCriterion("oriOfferId is null");
            return (Criteria) this;
        }

        public Criteria andOriofferidIsNotNull() {
            addCriterion("oriOfferId is not null");
            return (Criteria) this;
        }

        public Criteria andOriofferidEqualTo(String value) {
            addCriterion("oriOfferId =", value, "oriofferid");
            return (Criteria) this;
        }

        public Criteria andOriofferidNotEqualTo(String value) {
            addCriterion("oriOfferId <>", value, "oriofferid");
            return (Criteria) this;
        }

        public Criteria andOriofferidGreaterThan(String value) {
            addCriterion("oriOfferId >", value, "oriofferid");
            return (Criteria) this;
        }

        public Criteria andOriofferidGreaterThanOrEqualTo(String value) {
            addCriterion("oriOfferId >=", value, "oriofferid");
            return (Criteria) this;
        }

        public Criteria andOriofferidLessThan(String value) {
            addCriterion("oriOfferId <", value, "oriofferid");
            return (Criteria) this;
        }

        public Criteria andOriofferidLessThanOrEqualTo(String value) {
            addCriterion("oriOfferId <=", value, "oriofferid");
            return (Criteria) this;
        }

        public Criteria andOriofferidLike(String value) {
            addCriterion("oriOfferId like", value, "oriofferid");
            return (Criteria) this;
        }

        public Criteria andOriofferidNotLike(String value) {
            addCriterion("oriOfferId not like", value, "oriofferid");
            return (Criteria) this;
        }

        public Criteria andOriofferidIn(List<String> values) {
            addCriterion("oriOfferId in", values, "oriofferid");
            return (Criteria) this;
        }

        public Criteria andOriofferidNotIn(List<String> values) {
            addCriterion("oriOfferId not in", values, "oriofferid");
            return (Criteria) this;
        }

        public Criteria andOriofferidBetween(String value1, String value2) {
            addCriterion("oriOfferId between", value1, value2, "oriofferid");
            return (Criteria) this;
        }

        public Criteria andOriofferidNotBetween(String value1, String value2) {
            addCriterion("oriOfferId not between", value1, value2, "oriofferid");
            return (Criteria) this;
        }

        public Criteria andOfferidIsNull() {
            addCriterion("offerId is null");
            return (Criteria) this;
        }

        public Criteria andOfferidIsNotNull() {
            addCriterion("offerId is not null");
            return (Criteria) this;
        }

        public Criteria andOfferidEqualTo(String value) {
            addCriterion("offerId =", value, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidNotEqualTo(String value) {
            addCriterion("offerId <>", value, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidGreaterThan(String value) {
            addCriterion("offerId >", value, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidGreaterThanOrEqualTo(String value) {
            addCriterion("offerId >=", value, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidLessThan(String value) {
            addCriterion("offerId <", value, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidLessThanOrEqualTo(String value) {
            addCriterion("offerId <=", value, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidIn(List<String> values) {
            addCriterion("offerId in", values, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidNotIn(List<String> values) {
            addCriterion("offerId not in", values, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidBetween(String value1, String value2) {
            addCriterion("offerId between", value1, value2, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidNotBetween(String value1, String value2) {
            addCriterion("offerId not between", value1, value2, "offerid");
            return (Criteria) this;
        }

        public Criteria andPublisheridIsNull() {
            addCriterion("publisherId is null");
            return (Criteria) this;
        }

        public Criteria andPublisheridIsNotNull() {
            addCriterion("publisherId is not null");
            return (Criteria) this;
        }

        public Criteria andPublisheridEqualTo(Integer value) {
            addCriterion("publisherId =", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridNotEqualTo(Integer value) {
            addCriterion("publisherId <>", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridGreaterThan(Integer value) {
            addCriterion("publisherId >", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridGreaterThanOrEqualTo(Integer value) {
            addCriterion("publisherId >=", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridLessThan(Integer value) {
            addCriterion("publisherId <", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridLessThanOrEqualTo(Integer value) {
            addCriterion("publisherId <=", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridIn(List<Integer> values) {
            addCriterion("publisherId in", values, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridNotIn(List<Integer> values) {
            addCriterion("publisherId not in", values, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridBetween(Integer value1, Integer value2) {
            addCriterion("publisherId between", value1, value2, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridNotBetween(Integer value1, Integer value2) {
            addCriterion("publisherId not between", value1, value2, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublishertypeIsNull() {
            addCriterion("publisherType is null");
            return (Criteria) this;
        }

        public Criteria andPublishertypeIsNotNull() {
            addCriterion("publisherType is not null");
            return (Criteria) this;
        }

        public Criteria andPublishertypeEqualTo(Byte value) {
            addCriterion("publisherType =", value, "publishertype");
            return (Criteria) this;
        }

        public Criteria andPublishertypeNotEqualTo(Byte value) {
            addCriterion("publisherType <>", value, "publishertype");
            return (Criteria) this;
        }

        public Criteria andPublishertypeGreaterThan(Byte value) {
            addCriterion("publisherType >", value, "publishertype");
            return (Criteria) this;
        }

        public Criteria andPublishertypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("publisherType >=", value, "publishertype");
            return (Criteria) this;
        }

        public Criteria andPublishertypeLessThan(Byte value) {
            addCriterion("publisherType <", value, "publishertype");
            return (Criteria) this;
        }

        public Criteria andPublishertypeLessThanOrEqualTo(Byte value) {
            addCriterion("publisherType <=", value, "publishertype");
            return (Criteria) this;
        }

        public Criteria andPublishertypeIn(List<Byte> values) {
            addCriterion("publisherType in", values, "publishertype");
            return (Criteria) this;
        }

        public Criteria andPublishertypeNotIn(List<Byte> values) {
            addCriterion("publisherType not in", values, "publishertype");
            return (Criteria) this;
        }

        public Criteria andPublishertypeBetween(Byte value1, Byte value2) {
            addCriterion("publisherType between", value1, value2, "publishertype");
            return (Criteria) this;
        }

        public Criteria andPublishertypeNotBetween(Byte value1, Byte value2) {
            addCriterion("publisherType not between", value1, value2, "publishertype");
            return (Criteria) this;
        }

        public Criteria andPublishernameIsNull() {
            addCriterion("publisherName is null");
            return (Criteria) this;
        }

        public Criteria andPublishernameIsNotNull() {
            addCriterion("publisherName is not null");
            return (Criteria) this;
        }

        public Criteria andPublishernameEqualTo(String value) {
            addCriterion("publisherName =", value, "publishername");
            return (Criteria) this;
        }

        public Criteria andPublishernameNotEqualTo(String value) {
            addCriterion("publisherName <>", value, "publishername");
            return (Criteria) this;
        }

        public Criteria andPublishernameGreaterThan(String value) {
            addCriterion("publisherName >", value, "publishername");
            return (Criteria) this;
        }

        public Criteria andPublishernameGreaterThanOrEqualTo(String value) {
            addCriterion("publisherName >=", value, "publishername");
            return (Criteria) this;
        }

        public Criteria andPublishernameLessThan(String value) {
            addCriterion("publisherName <", value, "publishername");
            return (Criteria) this;
        }

        public Criteria andPublishernameLessThanOrEqualTo(String value) {
            addCriterion("publisherName <=", value, "publishername");
            return (Criteria) this;
        }

        public Criteria andPublishernameLike(String value) {
            addCriterion("publisherName like", value, "publishername");
            return (Criteria) this;
        }

        public Criteria andPublishernameNotLike(String value) {
            addCriterion("publisherName not like", value, "publishername");
            return (Criteria) this;
        }

        public Criteria andPublishernameIn(List<String> values) {
            addCriterion("publisherName in", values, "publishername");
            return (Criteria) this;
        }

        public Criteria andPublishernameNotIn(List<String> values) {
            addCriterion("publisherName not in", values, "publishername");
            return (Criteria) this;
        }

        public Criteria andPublishernameBetween(String value1, String value2) {
            addCriterion("publisherName between", value1, value2, "publishername");
            return (Criteria) this;
        }

        public Criteria andPublishernameNotBetween(String value1, String value2) {
            addCriterion("publisherName not between", value1, value2, "publishername");
            return (Criteria) this;
        }

        public Criteria andOripublisheridIsNull() {
            addCriterion("oriPublisherId is null");
            return (Criteria) this;
        }

        public Criteria andOripublisheridIsNotNull() {
            addCriterion("oriPublisherId is not null");
            return (Criteria) this;
        }

        public Criteria andOripublisheridEqualTo(Integer value) {
            addCriterion("oriPublisherId =", value, "oripublisherid");
            return (Criteria) this;
        }

        public Criteria andOripublisheridNotEqualTo(Integer value) {
            addCriterion("oriPublisherId <>", value, "oripublisherid");
            return (Criteria) this;
        }

        public Criteria andOripublisheridGreaterThan(Integer value) {
            addCriterion("oriPublisherId >", value, "oripublisherid");
            return (Criteria) this;
        }

        public Criteria andOripublisheridGreaterThanOrEqualTo(Integer value) {
            addCriterion("oriPublisherId >=", value, "oripublisherid");
            return (Criteria) this;
        }

        public Criteria andOripublisheridLessThan(Integer value) {
            addCriterion("oriPublisherId <", value, "oripublisherid");
            return (Criteria) this;
        }

        public Criteria andOripublisheridLessThanOrEqualTo(Integer value) {
            addCriterion("oriPublisherId <=", value, "oripublisherid");
            return (Criteria) this;
        }

        public Criteria andOripublisheridIn(List<Integer> values) {
            addCriterion("oriPublisherId in", values, "oripublisherid");
            return (Criteria) this;
        }

        public Criteria andOripublisheridNotIn(List<Integer> values) {
            addCriterion("oriPublisherId not in", values, "oripublisherid");
            return (Criteria) this;
        }

        public Criteria andOripublisheridBetween(Integer value1, Integer value2) {
            addCriterion("oriPublisherId between", value1, value2, "oripublisherid");
            return (Criteria) this;
        }

        public Criteria andOripublisheridNotBetween(Integer value1, Integer value2) {
            addCriterion("oriPublisherId not between", value1, value2, "oripublisherid");
            return (Criteria) this;
        }

        public Criteria andOrisubidIsNull() {
            addCriterion("oriSubId is null");
            return (Criteria) this;
        }

        public Criteria andOrisubidIsNotNull() {
            addCriterion("oriSubId is not null");
            return (Criteria) this;
        }

        public Criteria andOrisubidEqualTo(String value) {
            addCriterion("oriSubId =", value, "orisubid");
            return (Criteria) this;
        }

        public Criteria andOrisubidNotEqualTo(String value) {
            addCriterion("oriSubId <>", value, "orisubid");
            return (Criteria) this;
        }

        public Criteria andOrisubidGreaterThan(String value) {
            addCriterion("oriSubId >", value, "orisubid");
            return (Criteria) this;
        }

        public Criteria andOrisubidGreaterThanOrEqualTo(String value) {
            addCriterion("oriSubId >=", value, "orisubid");
            return (Criteria) this;
        }

        public Criteria andOrisubidLessThan(String value) {
            addCriterion("oriSubId <", value, "orisubid");
            return (Criteria) this;
        }

        public Criteria andOrisubidLessThanOrEqualTo(String value) {
            addCriterion("oriSubId <=", value, "orisubid");
            return (Criteria) this;
        }

        public Criteria andOrisubidLike(String value) {
            addCriterion("oriSubId like", value, "orisubid");
            return (Criteria) this;
        }

        public Criteria andOrisubidNotLike(String value) {
            addCriterion("oriSubId not like", value, "orisubid");
            return (Criteria) this;
        }

        public Criteria andOrisubidIn(List<String> values) {
            addCriterion("oriSubId in", values, "orisubid");
            return (Criteria) this;
        }

        public Criteria andOrisubidNotIn(List<String> values) {
            addCriterion("oriSubId not in", values, "orisubid");
            return (Criteria) this;
        }

        public Criteria andOrisubidBetween(String value1, String value2) {
            addCriterion("oriSubId between", value1, value2, "orisubid");
            return (Criteria) this;
        }

        public Criteria andOrisubidNotBetween(String value1, String value2) {
            addCriterion("oriSubId not between", value1, value2, "orisubid");
            return (Criteria) this;
        }

        public Criteria andSubidIsNull() {
            addCriterion("subId is null");
            return (Criteria) this;
        }

        public Criteria andSubidIsNotNull() {
            addCriterion("subId is not null");
            return (Criteria) this;
        }

        public Criteria andSubidEqualTo(String value) {
            addCriterion("subId =", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidNotEqualTo(String value) {
            addCriterion("subId <>", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidGreaterThan(String value) {
            addCriterion("subId >", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidGreaterThanOrEqualTo(String value) {
            addCriterion("subId >=", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidLessThan(String value) {
            addCriterion("subId <", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidLessThanOrEqualTo(String value) {
            addCriterion("subId <=", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidLike(String value) {
            addCriterion("subId like", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidNotLike(String value) {
            addCriterion("subId not like", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidIn(List<String> values) {
            addCriterion("subId in", values, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidNotIn(List<String> values) {
            addCriterion("subId not in", values, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidBetween(String value1, String value2) {
            addCriterion("subId between", value1, value2, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidNotBetween(String value1, String value2) {
            addCriterion("subId not between", value1, value2, "subid");
            return (Criteria) this;
        }

        public Criteria andCountryIsNull() {
            addCriterion("country is null");
            return (Criteria) this;
        }

        public Criteria andCountryIsNotNull() {
            addCriterion("country is not null");
            return (Criteria) this;
        }

        public Criteria andCountryEqualTo(String value) {
            addCriterion("country =", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryNotEqualTo(String value) {
            addCriterion("country <>", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryGreaterThan(String value) {
            addCriterion("country >", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryGreaterThanOrEqualTo(String value) {
            addCriterion("country >=", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryLessThan(String value) {
            addCriterion("country <", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryLessThanOrEqualTo(String value) {
            addCriterion("country <=", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryLike(String value) {
            addCriterion("country like", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryNotLike(String value) {
            addCriterion("country not like", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryIn(List<String> values) {
            addCriterion("country in", values, "country");
            return (Criteria) this;
        }

        public Criteria andCountryNotIn(List<String> values) {
            addCriterion("country not in", values, "country");
            return (Criteria) this;
        }

        public Criteria andCountryBetween(String value1, String value2) {
            addCriterion("country between", value1, value2, "country");
            return (Criteria) this;
        }

        public Criteria andCountryNotBetween(String value1, String value2) {
            addCriterion("country not between", value1, value2, "country");
            return (Criteria) this;
        }

        public Criteria andInstallcountIsNull() {
            addCriterion("installCount is null");
            return (Criteria) this;
        }

        public Criteria andInstallcountIsNotNull() {
            addCriterion("installCount is not null");
            return (Criteria) this;
        }

        public Criteria andInstallcountEqualTo(Integer value) {
            addCriterion("installCount =", value, "installcount");
            return (Criteria) this;
        }

        public Criteria andInstallcountNotEqualTo(Integer value) {
            addCriterion("installCount <>", value, "installcount");
            return (Criteria) this;
        }

        public Criteria andInstallcountGreaterThan(Integer value) {
            addCriterion("installCount >", value, "installcount");
            return (Criteria) this;
        }

        public Criteria andInstallcountGreaterThanOrEqualTo(Integer value) {
            addCriterion("installCount >=", value, "installcount");
            return (Criteria) this;
        }

        public Criteria andInstallcountLessThan(Integer value) {
            addCriterion("installCount <", value, "installcount");
            return (Criteria) this;
        }

        public Criteria andInstallcountLessThanOrEqualTo(Integer value) {
            addCriterion("installCount <=", value, "installcount");
            return (Criteria) this;
        }

        public Criteria andInstallcountIn(List<Integer> values) {
            addCriterion("installCount in", values, "installcount");
            return (Criteria) this;
        }

        public Criteria andInstallcountNotIn(List<Integer> values) {
            addCriterion("installCount not in", values, "installcount");
            return (Criteria) this;
        }

        public Criteria andInstallcountBetween(Integer value1, Integer value2) {
            addCriterion("installCount between", value1, value2, "installcount");
            return (Criteria) this;
        }

        public Criteria andInstallcountNotBetween(Integer value1, Integer value2) {
            addCriterion("installCount not between", value1, value2, "installcount");
            return (Criteria) this;
        }

        public Criteria andRegistcountIsNull() {
            addCriterion("registCount is null");
            return (Criteria) this;
        }

        public Criteria andRegistcountIsNotNull() {
            addCriterion("registCount is not null");
            return (Criteria) this;
        }

        public Criteria andRegistcountEqualTo(Integer value) {
            addCriterion("registCount =", value, "registcount");
            return (Criteria) this;
        }

        public Criteria andRegistcountNotEqualTo(Integer value) {
            addCriterion("registCount <>", value, "registcount");
            return (Criteria) this;
        }

        public Criteria andRegistcountGreaterThan(Integer value) {
            addCriterion("registCount >", value, "registcount");
            return (Criteria) this;
        }

        public Criteria andRegistcountGreaterThanOrEqualTo(Integer value) {
            addCriterion("registCount >=", value, "registcount");
            return (Criteria) this;
        }

        public Criteria andRegistcountLessThan(Integer value) {
            addCriterion("registCount <", value, "registcount");
            return (Criteria) this;
        }

        public Criteria andRegistcountLessThanOrEqualTo(Integer value) {
            addCriterion("registCount <=", value, "registcount");
            return (Criteria) this;
        }

        public Criteria andRegistcountIn(List<Integer> values) {
            addCriterion("registCount in", values, "registcount");
            return (Criteria) this;
        }

        public Criteria andRegistcountNotIn(List<Integer> values) {
            addCriterion("registCount not in", values, "registcount");
            return (Criteria) this;
        }

        public Criteria andRegistcountBetween(Integer value1, Integer value2) {
            addCriterion("registCount between", value1, value2, "registcount");
            return (Criteria) this;
        }

        public Criteria andRegistcountNotBetween(Integer value1, Integer value2) {
            addCriterion("registCount not between", value1, value2, "registcount");
            return (Criteria) this;
        }

        public Criteria andActivecountIsNull() {
            addCriterion("activeCount is null");
            return (Criteria) this;
        }

        public Criteria andActivecountIsNotNull() {
            addCriterion("activeCount is not null");
            return (Criteria) this;
        }

        public Criteria andActivecountEqualTo(Integer value) {
            addCriterion("activeCount =", value, "activecount");
            return (Criteria) this;
        }

        public Criteria andActivecountNotEqualTo(Integer value) {
            addCriterion("activeCount <>", value, "activecount");
            return (Criteria) this;
        }

        public Criteria andActivecountGreaterThan(Integer value) {
            addCriterion("activeCount >", value, "activecount");
            return (Criteria) this;
        }

        public Criteria andActivecountGreaterThanOrEqualTo(Integer value) {
            addCriterion("activeCount >=", value, "activecount");
            return (Criteria) this;
        }

        public Criteria andActivecountLessThan(Integer value) {
            addCriterion("activeCount <", value, "activecount");
            return (Criteria) this;
        }

        public Criteria andActivecountLessThanOrEqualTo(Integer value) {
            addCriterion("activeCount <=", value, "activecount");
            return (Criteria) this;
        }

        public Criteria andActivecountIn(List<Integer> values) {
            addCriterion("activeCount in", values, "activecount");
            return (Criteria) this;
        }

        public Criteria andActivecountNotIn(List<Integer> values) {
            addCriterion("activeCount not in", values, "activecount");
            return (Criteria) this;
        }

        public Criteria andActivecountBetween(Integer value1, Integer value2) {
            addCriterion("activeCount between", value1, value2, "activecount");
            return (Criteria) this;
        }

        public Criteria andActivecountNotBetween(Integer value1, Integer value2) {
            addCriterion("activeCount not between", value1, value2, "activecount");
            return (Criteria) this;
        }

        public Criteria andAdvpayoutIsNull() {
            addCriterion("advPayout is null");
            return (Criteria) this;
        }

        public Criteria andAdvpayoutIsNotNull() {
            addCriterion("advPayout is not null");
            return (Criteria) this;
        }

        public Criteria andAdvpayoutEqualTo(BigDecimal value) {
            addCriterion("advPayout =", value, "advpayout");
            return (Criteria) this;
        }

        public Criteria andAdvpayoutNotEqualTo(BigDecimal value) {
            addCriterion("advPayout <>", value, "advpayout");
            return (Criteria) this;
        }

        public Criteria andAdvpayoutGreaterThan(BigDecimal value) {
            addCriterion("advPayout >", value, "advpayout");
            return (Criteria) this;
        }

        public Criteria andAdvpayoutGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("advPayout >=", value, "advpayout");
            return (Criteria) this;
        }

        public Criteria andAdvpayoutLessThan(BigDecimal value) {
            addCriterion("advPayout <", value, "advpayout");
            return (Criteria) this;
        }

        public Criteria andAdvpayoutLessThanOrEqualTo(BigDecimal value) {
            addCriterion("advPayout <=", value, "advpayout");
            return (Criteria) this;
        }

        public Criteria andAdvpayoutIn(List<BigDecimal> values) {
            addCriterion("advPayout in", values, "advpayout");
            return (Criteria) this;
        }

        public Criteria andAdvpayoutNotIn(List<BigDecimal> values) {
            addCriterion("advPayout not in", values, "advpayout");
            return (Criteria) this;
        }

        public Criteria andAdvpayoutBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("advPayout between", value1, value2, "advpayout");
            return (Criteria) this;
        }

        public Criteria andAdvpayoutNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("advPayout not between", value1, value2, "advpayout");
            return (Criteria) this;
        }

        public Criteria andOfferpayoutIsNull() {
            addCriterion("offerPayout is null");
            return (Criteria) this;
        }

        public Criteria andOfferpayoutIsNotNull() {
            addCriterion("offerPayout is not null");
            return (Criteria) this;
        }

        public Criteria andOfferpayoutEqualTo(BigDecimal value) {
            addCriterion("offerPayout =", value, "offerpayout");
            return (Criteria) this;
        }

        public Criteria andOfferpayoutNotEqualTo(BigDecimal value) {
            addCriterion("offerPayout <>", value, "offerpayout");
            return (Criteria) this;
        }

        public Criteria andOfferpayoutGreaterThan(BigDecimal value) {
            addCriterion("offerPayout >", value, "offerpayout");
            return (Criteria) this;
        }

        public Criteria andOfferpayoutGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("offerPayout >=", value, "offerpayout");
            return (Criteria) this;
        }

        public Criteria andOfferpayoutLessThan(BigDecimal value) {
            addCriterion("offerPayout <", value, "offerpayout");
            return (Criteria) this;
        }

        public Criteria andOfferpayoutLessThanOrEqualTo(BigDecimal value) {
            addCriterion("offerPayout <=", value, "offerpayout");
            return (Criteria) this;
        }

        public Criteria andOfferpayoutIn(List<BigDecimal> values) {
            addCriterion("offerPayout in", values, "offerpayout");
            return (Criteria) this;
        }

        public Criteria andOfferpayoutNotIn(List<BigDecimal> values) {
            addCriterion("offerPayout not in", values, "offerpayout");
            return (Criteria) this;
        }

        public Criteria andOfferpayoutBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("offerPayout between", value1, value2, "offerpayout");
            return (Criteria) this;
        }

        public Criteria andOfferpayoutNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("offerPayout not between", value1, value2, "offerpayout");
            return (Criteria) this;
        }

        public Criteria andPayoutrateIsNull() {
            addCriterion("payoutRate is null");
            return (Criteria) this;
        }

        public Criteria andPayoutrateIsNotNull() {
            addCriterion("payoutRate is not null");
            return (Criteria) this;
        }

        public Criteria andPayoutrateEqualTo(Integer value) {
            addCriterion("payoutRate =", value, "payoutrate");
            return (Criteria) this;
        }

        public Criteria andPayoutrateNotEqualTo(Integer value) {
            addCriterion("payoutRate <>", value, "payoutrate");
            return (Criteria) this;
        }

        public Criteria andPayoutrateGreaterThan(Integer value) {
            addCriterion("payoutRate >", value, "payoutrate");
            return (Criteria) this;
        }

        public Criteria andPayoutrateGreaterThanOrEqualTo(Integer value) {
            addCriterion("payoutRate >=", value, "payoutrate");
            return (Criteria) this;
        }

        public Criteria andPayoutrateLessThan(Integer value) {
            addCriterion("payoutRate <", value, "payoutrate");
            return (Criteria) this;
        }

        public Criteria andPayoutrateLessThanOrEqualTo(Integer value) {
            addCriterion("payoutRate <=", value, "payoutrate");
            return (Criteria) this;
        }

        public Criteria andPayoutrateIn(List<Integer> values) {
            addCriterion("payoutRate in", values, "payoutrate");
            return (Criteria) this;
        }

        public Criteria andPayoutrateNotIn(List<Integer> values) {
            addCriterion("payoutRate not in", values, "payoutrate");
            return (Criteria) this;
        }

        public Criteria andPayoutrateBetween(Integer value1, Integer value2) {
            addCriterion("payoutRate between", value1, value2, "payoutrate");
            return (Criteria) this;
        }

        public Criteria andPayoutrateNotBetween(Integer value1, Integer value2) {
            addCriterion("payoutRate not between", value1, value2, "payoutrate");
            return (Criteria) this;
        }

        public Criteria andKpideductionamountIsNull() {
            addCriterion("kpiDeductionAmount is null");
            return (Criteria) this;
        }

        public Criteria andKpideductionamountIsNotNull() {
            addCriterion("kpiDeductionAmount is not null");
            return (Criteria) this;
        }

        public Criteria andKpideductionamountEqualTo(BigDecimal value) {
            addCriterion("kpiDeductionAmount =", value, "kpideductionamount");
            return (Criteria) this;
        }

        public Criteria andKpideductionamountNotEqualTo(BigDecimal value) {
            addCriterion("kpiDeductionAmount <>", value, "kpideductionamount");
            return (Criteria) this;
        }

        public Criteria andKpideductionamountGreaterThan(BigDecimal value) {
            addCriterion("kpiDeductionAmount >", value, "kpideductionamount");
            return (Criteria) this;
        }

        public Criteria andKpideductionamountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("kpiDeductionAmount >=", value, "kpideductionamount");
            return (Criteria) this;
        }

        public Criteria andKpideductionamountLessThan(BigDecimal value) {
            addCriterion("kpiDeductionAmount <", value, "kpideductionamount");
            return (Criteria) this;
        }

        public Criteria andKpideductionamountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("kpiDeductionAmount <=", value, "kpideductionamount");
            return (Criteria) this;
        }

        public Criteria andKpideductionamountIn(List<BigDecimal> values) {
            addCriterion("kpiDeductionAmount in", values, "kpideductionamount");
            return (Criteria) this;
        }

        public Criteria andKpideductionamountNotIn(List<BigDecimal> values) {
            addCriterion("kpiDeductionAmount not in", values, "kpideductionamount");
            return (Criteria) this;
        }

        public Criteria andKpideductionamountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("kpiDeductionAmount between", value1, value2, "kpideductionamount");
            return (Criteria) this;
        }

        public Criteria andKpideductionamountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("kpiDeductionAmount not between", value1, value2, "kpideductionamount");
            return (Criteria) this;
        }

        public Criteria andDeductionamountIsNull() {
            addCriterion("deductionAmount is null");
            return (Criteria) this;
        }

        public Criteria andDeductionamountIsNotNull() {
            addCriterion("deductionAmount is not null");
            return (Criteria) this;
        }

        public Criteria andDeductionamountEqualTo(Long value) {
            addCriterion("deductionAmount =", value, "deductionamount");
            return (Criteria) this;
        }

        public Criteria andDeductionamountNotEqualTo(Long value) {
            addCriterion("deductionAmount <>", value, "deductionamount");
            return (Criteria) this;
        }

        public Criteria andDeductionamountGreaterThan(Long value) {
            addCriterion("deductionAmount >", value, "deductionamount");
            return (Criteria) this;
        }

        public Criteria andDeductionamountGreaterThanOrEqualTo(Long value) {
            addCriterion("deductionAmount >=", value, "deductionamount");
            return (Criteria) this;
        }

        public Criteria andDeductionamountLessThan(Long value) {
            addCriterion("deductionAmount <", value, "deductionamount");
            return (Criteria) this;
        }

        public Criteria andDeductionamountLessThanOrEqualTo(Long value) {
            addCriterion("deductionAmount <=", value, "deductionamount");
            return (Criteria) this;
        }

        public Criteria andDeductionamountIn(List<Long> values) {
            addCriterion("deductionAmount in", values, "deductionamount");
            return (Criteria) this;
        }

        public Criteria andDeductionamountNotIn(List<Long> values) {
            addCriterion("deductionAmount not in", values, "deductionamount");
            return (Criteria) this;
        }

        public Criteria andDeductionamountBetween(Long value1, Long value2) {
            addCriterion("deductionAmount between", value1, value2, "deductionamount");
            return (Criteria) this;
        }

        public Criteria andDeductionamountNotBetween(Long value1, Long value2) {
            addCriterion("deductionAmount not between", value1, value2, "deductionamount");
            return (Criteria) this;
        }

        public Criteria andDeductioncountIsNull() {
            addCriterion("deductionCount is null");
            return (Criteria) this;
        }

        public Criteria andDeductioncountIsNotNull() {
            addCriterion("deductionCount is not null");
            return (Criteria) this;
        }

        public Criteria andDeductioncountEqualTo(Integer value) {
            addCriterion("deductionCount =", value, "deductioncount");
            return (Criteria) this;
        }

        public Criteria andDeductioncountNotEqualTo(Integer value) {
            addCriterion("deductionCount <>", value, "deductioncount");
            return (Criteria) this;
        }

        public Criteria andDeductioncountGreaterThan(Integer value) {
            addCriterion("deductionCount >", value, "deductioncount");
            return (Criteria) this;
        }

        public Criteria andDeductioncountGreaterThanOrEqualTo(Integer value) {
            addCriterion("deductionCount >=", value, "deductioncount");
            return (Criteria) this;
        }

        public Criteria andDeductioncountLessThan(Integer value) {
            addCriterion("deductionCount <", value, "deductioncount");
            return (Criteria) this;
        }

        public Criteria andDeductioncountLessThanOrEqualTo(Integer value) {
            addCriterion("deductionCount <=", value, "deductioncount");
            return (Criteria) this;
        }

        public Criteria andDeductioncountIn(List<Integer> values) {
            addCriterion("deductionCount in", values, "deductioncount");
            return (Criteria) this;
        }

        public Criteria andDeductioncountNotIn(List<Integer> values) {
            addCriterion("deductionCount not in", values, "deductioncount");
            return (Criteria) this;
        }

        public Criteria andDeductioncountBetween(Integer value1, Integer value2) {
            addCriterion("deductionCount between", value1, value2, "deductioncount");
            return (Criteria) this;
        }

        public Criteria andDeductioncountNotBetween(Integer value1, Integer value2) {
            addCriterion("deductionCount not between", value1, value2, "deductioncount");
            return (Criteria) this;
        }

        public Criteria andPendingamountIsNull() {
            addCriterion("pendingAmount is null");
            return (Criteria) this;
        }

        public Criteria andPendingamountIsNotNull() {
            addCriterion("pendingAmount is not null");
            return (Criteria) this;
        }

        public Criteria andPendingamountEqualTo(Long value) {
            addCriterion("pendingAmount =", value, "pendingamount");
            return (Criteria) this;
        }

        public Criteria andPendingamountNotEqualTo(Long value) {
            addCriterion("pendingAmount <>", value, "pendingamount");
            return (Criteria) this;
        }

        public Criteria andPendingamountGreaterThan(Long value) {
            addCriterion("pendingAmount >", value, "pendingamount");
            return (Criteria) this;
        }

        public Criteria andPendingamountGreaterThanOrEqualTo(Long value) {
            addCriterion("pendingAmount >=", value, "pendingamount");
            return (Criteria) this;
        }

        public Criteria andPendingamountLessThan(Long value) {
            addCriterion("pendingAmount <", value, "pendingamount");
            return (Criteria) this;
        }

        public Criteria andPendingamountLessThanOrEqualTo(Long value) {
            addCriterion("pendingAmount <=", value, "pendingamount");
            return (Criteria) this;
        }

        public Criteria andPendingamountIn(List<Long> values) {
            addCriterion("pendingAmount in", values, "pendingamount");
            return (Criteria) this;
        }

        public Criteria andPendingamountNotIn(List<Long> values) {
            addCriterion("pendingAmount not in", values, "pendingamount");
            return (Criteria) this;
        }

        public Criteria andPendingamountBetween(Long value1, Long value2) {
            addCriterion("pendingAmount between", value1, value2, "pendingamount");
            return (Criteria) this;
        }

        public Criteria andPendingamountNotBetween(Long value1, Long value2) {
            addCriterion("pendingAmount not between", value1, value2, "pendingamount");
            return (Criteria) this;
        }

        public Criteria andReasonIsNull() {
            addCriterion("reason is null");
            return (Criteria) this;
        }

        public Criteria andReasonIsNotNull() {
            addCriterion("reason is not null");
            return (Criteria) this;
        }

        public Criteria andReasonEqualTo(String value) {
            addCriterion("reason =", value, "reason");
            return (Criteria) this;
        }

        public Criteria andReasonNotEqualTo(String value) {
            addCriterion("reason <>", value, "reason");
            return (Criteria) this;
        }

        public Criteria andReasonGreaterThan(String value) {
            addCriterion("reason >", value, "reason");
            return (Criteria) this;
        }

        public Criteria andReasonGreaterThanOrEqualTo(String value) {
            addCriterion("reason >=", value, "reason");
            return (Criteria) this;
        }

        public Criteria andReasonLessThan(String value) {
            addCriterion("reason <", value, "reason");
            return (Criteria) this;
        }

        public Criteria andReasonLessThanOrEqualTo(String value) {
            addCriterion("reason <=", value, "reason");
            return (Criteria) this;
        }

        public Criteria andReasonLike(String value) {
            addCriterion("reason like", value, "reason");
            return (Criteria) this;
        }

        public Criteria andReasonNotLike(String value) {
            addCriterion("reason not like", value, "reason");
            return (Criteria) this;
        }

        public Criteria andReasonIn(List<String> values) {
            addCriterion("reason in", values, "reason");
            return (Criteria) this;
        }

        public Criteria andReasonNotIn(List<String> values) {
            addCriterion("reason not in", values, "reason");
            return (Criteria) this;
        }

        public Criteria andReasonBetween(String value1, String value2) {
            addCriterion("reason between", value1, value2, "reason");
            return (Criteria) this;
        }

        public Criteria andReasonNotBetween(String value1, String value2) {
            addCriterion("reason not between", value1, value2, "reason");
            return (Criteria) this;
        }

        public Criteria andIsdeductionIsNull() {
            addCriterion("isDeduction is null");
            return (Criteria) this;
        }

        public Criteria andIsdeductionIsNotNull() {
            addCriterion("isDeduction is not null");
            return (Criteria) this;
        }

        public Criteria andIsdeductionEqualTo(Byte value) {
            addCriterion("isDeduction =", value, "isdeduction");
            return (Criteria) this;
        }

        public Criteria andIsdeductionNotEqualTo(Byte value) {
            addCriterion("isDeduction <>", value, "isdeduction");
            return (Criteria) this;
        }

        public Criteria andIsdeductionGreaterThan(Byte value) {
            addCriterion("isDeduction >", value, "isdeduction");
            return (Criteria) this;
        }

        public Criteria andIsdeductionGreaterThanOrEqualTo(Byte value) {
            addCriterion("isDeduction >=", value, "isdeduction");
            return (Criteria) this;
        }

        public Criteria andIsdeductionLessThan(Byte value) {
            addCriterion("isDeduction <", value, "isdeduction");
            return (Criteria) this;
        }

        public Criteria andIsdeductionLessThanOrEqualTo(Byte value) {
            addCriterion("isDeduction <=", value, "isdeduction");
            return (Criteria) this;
        }

        public Criteria andIsdeductionIn(List<Byte> values) {
            addCriterion("isDeduction in", values, "isdeduction");
            return (Criteria) this;
        }

        public Criteria andIsdeductionNotIn(List<Byte> values) {
            addCriterion("isDeduction not in", values, "isdeduction");
            return (Criteria) this;
        }

        public Criteria andIsdeductionBetween(Byte value1, Byte value2) {
            addCriterion("isDeduction between", value1, value2, "isdeduction");
            return (Criteria) this;
        }

        public Criteria andIsdeductionNotBetween(Byte value1, Byte value2) {
            addCriterion("isDeduction not between", value1, value2, "isdeduction");
            return (Criteria) this;
        }

        public Criteria andConfirmmonthIsNull() {
            addCriterion("confirmMonth is null");
            return (Criteria) this;
        }

        public Criteria andConfirmmonthIsNotNull() {
            addCriterion("confirmMonth is not null");
            return (Criteria) this;
        }

        public Criteria andConfirmmonthEqualTo(String value) {
            addCriterion("confirmMonth =", value, "confirmmonth");
            return (Criteria) this;
        }

        public Criteria andConfirmmonthNotEqualTo(String value) {
            addCriterion("confirmMonth <>", value, "confirmmonth");
            return (Criteria) this;
        }

        public Criteria andConfirmmonthGreaterThan(String value) {
            addCriterion("confirmMonth >", value, "confirmmonth");
            return (Criteria) this;
        }

        public Criteria andConfirmmonthGreaterThanOrEqualTo(String value) {
            addCriterion("confirmMonth >=", value, "confirmmonth");
            return (Criteria) this;
        }

        public Criteria andConfirmmonthLessThan(String value) {
            addCriterion("confirmMonth <", value, "confirmmonth");
            return (Criteria) this;
        }

        public Criteria andConfirmmonthLessThanOrEqualTo(String value) {
            addCriterion("confirmMonth <=", value, "confirmmonth");
            return (Criteria) this;
        }

        public Criteria andConfirmmonthIn(List<String> values) {
            addCriterion("confirmMonth in", values, "confirmmonth");
            return (Criteria) this;
        }

        public Criteria andConfirmmonthNotIn(List<String> values) {
            addCriterion("confirmMonth not in", values, "confirmmonth");
            return (Criteria) this;
        }

        public Criteria andConfirmmonthBetween(String value1, String value2) {
            addCriterion("confirmMonth between", value1, value2, "confirmmonth");
            return (Criteria) this;
        }

        public Criteria andConfirmmonthNotBetween(String value1, String value2) {
            addCriterion("confirmMonth not between", value1, value2, "confirmmonth");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Byte value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Byte value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Byte value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Byte value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Byte value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Byte> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Byte> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Byte value1, Byte value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andBatchnumberIsNull() {
            addCriterion("batchNumber is null");
            return (Criteria) this;
        }

        public Criteria andBatchnumberIsNotNull() {
            addCriterion("batchNumber is not null");
            return (Criteria) this;
        }

        public Criteria andBatchnumberEqualTo(String value) {
            addCriterion("batchNumber =", value, "batchnumber");
            return (Criteria) this;
        }

        public Criteria andBatchnumberNotEqualTo(String value) {
            addCriterion("batchNumber <>", value, "batchnumber");
            return (Criteria) this;
        }

        public Criteria andBatchnumberGreaterThan(String value) {
            addCriterion("batchNumber >", value, "batchnumber");
            return (Criteria) this;
        }

        public Criteria andBatchnumberGreaterThanOrEqualTo(String value) {
            addCriterion("batchNumber >=", value, "batchnumber");
            return (Criteria) this;
        }

        public Criteria andBatchnumberLessThan(String value) {
            addCriterion("batchNumber <", value, "batchnumber");
            return (Criteria) this;
        }

        public Criteria andBatchnumberLessThanOrEqualTo(String value) {
            addCriterion("batchNumber <=", value, "batchnumber");
            return (Criteria) this;
        }

        public Criteria andBatchnumberLike(String value) {
            addCriterion("batchNumber like", value, "batchnumber");
            return (Criteria) this;
        }

        public Criteria andBatchnumberNotLike(String value) {
            addCriterion("batchNumber not like", value, "batchnumber");
            return (Criteria) this;
        }

        public Criteria andBatchnumberIn(List<String> values) {
            addCriterion("batchNumber in", values, "batchnumber");
            return (Criteria) this;
        }

        public Criteria andBatchnumberNotIn(List<String> values) {
            addCriterion("batchNumber not in", values, "batchnumber");
            return (Criteria) this;
        }

        public Criteria andBatchnumberBetween(String value1, String value2) {
            addCriterion("batchNumber between", value1, value2, "batchnumber");
            return (Criteria) this;
        }

        public Criteria andBatchnumberNotBetween(String value1, String value2) {
            addCriterion("batchNumber not between", value1, value2, "batchnumber");
            return (Criteria) this;
        }

        public Criteria andVersionIsNull() {
            addCriterion("version is null");
            return (Criteria) this;
        }

        public Criteria andVersionIsNotNull() {
            addCriterion("version is not null");
            return (Criteria) this;
        }

        public Criteria andVersionEqualTo(Short value) {
            addCriterion("version =", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotEqualTo(Short value) {
            addCriterion("version <>", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThan(Short value) {
            addCriterion("version >", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThanOrEqualTo(Short value) {
            addCriterion("version >=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThan(Short value) {
            addCriterion("version <", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThanOrEqualTo(Short value) {
            addCriterion("version <=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionIn(List<Short> values) {
            addCriterion("version in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotIn(List<Short> values) {
            addCriterion("version not in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionBetween(Short value1, Short value2) {
            addCriterion("version between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotBetween(Short value1, Short value2) {
            addCriterion("version not between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andOperatorIsNull() {
            addCriterion("operator is null");
            return (Criteria) this;
        }

        public Criteria andOperatorIsNotNull() {
            addCriterion("operator is not null");
            return (Criteria) this;
        }

        public Criteria andOperatorEqualTo(String value) {
            addCriterion("operator =", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotEqualTo(String value) {
            addCriterion("operator <>", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorGreaterThan(String value) {
            addCriterion("operator >", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorGreaterThanOrEqualTo(String value) {
            addCriterion("operator >=", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLessThan(String value) {
            addCriterion("operator <", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLessThanOrEqualTo(String value) {
            addCriterion("operator <=", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLike(String value) {
            addCriterion("operator like", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotLike(String value) {
            addCriterion("operator not like", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorIn(List<String> values) {
            addCriterion("operator in", values, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotIn(List<String> values) {
            addCriterion("operator not in", values, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorBetween(String value1, String value2) {
            addCriterion("operator between", value1, value2, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotBetween(String value1, String value2) {
            addCriterion("operator not between", value1, value2, "operator");
            return (Criteria) this;
        }

        public Criteria andOperationdateIsNull() {
            addCriterion("operationDate is null");
            return (Criteria) this;
        }

        public Criteria andOperationdateIsNotNull() {
            addCriterion("operationDate is not null");
            return (Criteria) this;
        }

        public Criteria andOperationdateEqualTo(Date value) {
            addCriterion("operationDate =", value, "operationdate");
            return (Criteria) this;
        }

        public Criteria andOperationdateNotEqualTo(Date value) {
            addCriterion("operationDate <>", value, "operationdate");
            return (Criteria) this;
        }

        public Criteria andOperationdateGreaterThan(Date value) {
            addCriterion("operationDate >", value, "operationdate");
            return (Criteria) this;
        }

        public Criteria andOperationdateGreaterThanOrEqualTo(Date value) {
            addCriterion("operationDate >=", value, "operationdate");
            return (Criteria) this;
        }

        public Criteria andOperationdateLessThan(Date value) {
            addCriterion("operationDate <", value, "operationdate");
            return (Criteria) this;
        }

        public Criteria andOperationdateLessThanOrEqualTo(Date value) {
            addCriterion("operationDate <=", value, "operationdate");
            return (Criteria) this;
        }

        public Criteria andOperationdateIn(List<Date> values) {
            addCriterion("operationDate in", values, "operationdate");
            return (Criteria) this;
        }

        public Criteria andOperationdateNotIn(List<Date> values) {
            addCriterion("operationDate not in", values, "operationdate");
            return (Criteria) this;
        }

        public Criteria andOperationdateBetween(Date value1, Date value2) {
            addCriterion("operationDate between", value1, value2, "operationdate");
            return (Criteria) this;
        }

        public Criteria andOperationdateNotBetween(Date value1, Date value2) {
            addCriterion("operationDate not between", value1, value2, "operationdate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}